package com.xnyzc.lhy.finance.entity.invoice;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.Version;
import com.baomidou.mybatisplus.annotation.TableLogic;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

/**
*
* 客户发票明细表
*
* @author haoyfa
* @since 2019-10-24
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="OaSysInvoiceDetail对象", description="客户发票明细表")
public class OaSysInvoiceDetail implements Serializable {

private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "ID")
    @TableId(value="invoice_detail_id", type = IdType.INPUT)
    private Long invoiceDetailId;

    @ApiModelProperty(value = "发票信息ID")
    private Long invoiceInfoId;

    @ApiModelProperty(value = "明细行号")
    private String goodsLineNo;

    @ApiModelProperty(value = "发票行性质.0：正常行 1：折扣行 2：被折扣行")
    private String goodsLineNature;

    @ApiModelProperty(value = "商品编码")
    private String goodsCode;

    @ApiModelProperty(value = "自行编码")
    private String goodsExtendCode;

    @ApiModelProperty(value = "商品名称")
    private String goodsName;

    @ApiModelProperty(value = "商品税目")
    private String goodsTaxItem;

    @ApiModelProperty(value = "规格型号")
    private String goodsSpecification;

    @ApiModelProperty(value = "计量单位")
    private String goodsUnit;

    @ApiModelProperty(value = "商品数量")
    private String goodsQuantity;

    @ApiModelProperty(value = "商品单价")
    private BigDecimal goodsPrice;

    @ApiModelProperty(value = "金额")
    private BigDecimal goodsTotalPrice;

    @ApiModelProperty(value = "税额.如果为空，根据金额，税率自动计算出")
    private BigDecimal goodsTotalTax;

    @ApiModelProperty(value = "税率")
    private BigDecimal goodsTaxRate;

    @ApiModelProperty(value = "折行对应行号")
    private String goodsDiscountLineNo;

    @ApiModelProperty(value = "含税标志.0：不含税 1：含税")
    private String priceTaxMark;

    @ApiModelProperty(value = "增优惠政策类型")
    private String vatSpecialManagement;

    @ApiModelProperty(value = "零税率标.空代表无， 1 出口免税和其他免税优惠政策， 2 不征增值税， 3 普通零税率")
    private String freeTaxMark;

    @ApiModelProperty(value = "是否使用优惠政策.0:未使用，1:使用")
    private String preferentialMark;

    @ApiModelProperty(value = "扩展字段1")
    private String expand1;

    @ApiModelProperty(value = "扩展字段2")
    private String expand2;

    @ApiModelProperty(value = "扩展字段3")
    private String expand3;

    @ApiModelProperty(value = "版本号")
    @Version
    private Long version;

    @ApiModelProperty(value = "是否删除(0:否,1:是)")
    @TableLogic
    private Integer deleted;

    @ApiModelProperty(value = "调整发起人")
    private Long createUser;

    @ApiModelProperty(value = "调整发起时间")
    private Date createTime;

    @ApiModelProperty(value = "更新人")
    private Long updateUser;

    @ApiModelProperty(value = "更新时间")
    private Date updateTime;


    public static final String INVOICE_DETAIL_ID = "invoice_detail_id";

    public static final String INVOICE_INFO_ID = "invoice_info_id";

    public static final String GOODS_LINE_NO = "goods_line_no";

    public static final String GOODS_LINE_NATURE = "goods_line_nature";

    public static final String GOODS_CODE = "goods_code";

    public static final String GOODS_EXTEND_CODE = "goods_extend_code";

    public static final String GOODS_NAME = "goods_name";

    public static final String GOODS_TAX_ITEM = "goods_tax_item";

    public static final String GOODS_SPECIFICATION = "goods_specification";

    public static final String GOODS_UNIT = "goods_unit";

    public static final String GOODS_QUANTITY = "goods_quantity";

    public static final String GOODS_PRICE = "goods_price";

    public static final String GOODS_TOTAL_PRICE = "goods_total_price";

    public static final String GOODS_TOTAL_TAX = "goods_total_tax";

    public static final String GOODS_TAX_RATE = "goods_tax_rate";

    public static final String GOODS_DISCOUNT_LINE_NO = "goods_discount_line_no";

    public static final String PRICE_TAX_MARK = "price_tax_mark";

    public static final String VAT_SPECIAL_MANAGEMENT = "vat_special_management";

    public static final String FREE_TAX_MARK = "free_tax_mark";

    public static final String PREFERENTIAL_MARK = "preferential_mark";

    public static final String EXPAND1 = "expand1";

    public static final String EXPAND2 = "expand2";

    public static final String EXPAND3 = "expand3";

    public static final String VERSION = "version";

    public static final String DELETED = "deleted";

    public static final String CREATE_USER = "create_user";

    public static final String CREATE_TIME = "create_time";

    public static final String UPDATE_USER = "update_user";

    public static final String UPDATE_TIME = "update_time";

}
